/*
  string and memory related functions
*/

#ifndef _STRING_H
#define	_STRING_H

#include <types.h>

void *memmove(void *dest, const void *src, size_t n);  /* mem areas may overlap */
void *memcpy(void *dest, const void *src, size_t n);   /* mem areas may _NOT_ overlap */
void *memsetb(void *dest, byte_t val);                 /* set  8 bit value */
void *memsetw(void *dest, word_t val);                 /* set 16 bit value */
void *memsetd(void *dest, dword_t val);                /* set 32 bit value */
byte_t memgetb(void *dest);                            /* get  8 bit value */
word_t memgetw(void *dest);                            /* get 16 bit value */
dword_t memgetd(void *dest);                           /* get 32 bit value */
size_t strlen(const char *s);                          /* calculates length of a string */   
char *index(const char *s, int c);                     /* locate character in string */
char *strcpy(char *dest, const char *src);   
void *memset(void *s, int c, size_t n);

int strncmp(const char *s1, const char *s2, size_t n);
int strcmp(const char *s1, const char *s2);

#endif /* _STRING_H */

